package com.adastros.buildingmanager.model;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.UUID;

/**
 * Clase que representa un título de propiedad.
 * En el se almacenan las el porcentaje del edificio que representa, las propiedades, las personas
 * que son propietarios y desde cuando y hasta cuando.
 * 
 * Cuando las propiedades cambian su porcentaje de participación, por ejemplo por ampliaciones en los áticos
 * se debe de crear un nuevo título de propiedad, parecido a lo que se hace en la vida real, se vuelve a inscribir.
 * Además puede pasar que se pierda o gane alguna propiedad, con lo que se generaría otro título de propiedad también.
 * 
 * También se tiene en cuenta que pueden ser varias las personas que son propietarias, por ejemplo en el caso de los 
 * matrimonios, en este caso no llevamos el porcentaje de participación de cada uno, presuponemos que son gananciales (50%).
 * 
 * Título de propiedad
 */
public class Deed {

  private UUID id ;
  
  /**
   * El porcentaje de la suma de las propiedades de ese momento.
   */ 
  private BigDecimal share;

  /**
   * Desde cuando tienen el título de propiedad
   */
  private Date fromDate;
  
  /**
   * Hasta cuando tienen el título de propiedad si es nulo, todavía lo son.
   */
  private Date toDate;

  /**
   * Las propiedades que constan en el título de propiedad.
   */
  private List<BuildingSection> buildings;
  
  /**
   * Las personas que poseen el título de propiedad
   */
  private List<Person> owners;
  
  public Deed() {
  }
}
